Ad-hoc analysis involves the determination of analytical results, or statistics or metrics, based on granular data. Data is accessed at the lowest level of granularity and an analytics engine aggregates data on-the-fly to generate a result for the ad-hoc analysis being performed. Many applications of this involve extremely large amounts of data and on-demand ad-hoc analysis can have substantial hardware requirements, such as large storage systems (e.g., large number of terabytes of storage, or more, for storing raw data), vast memory (e.g., random access memory for use during analysis), and vast computing power (e.g., numerous computation cycles or threads, or numerous computing nodes, for aggregating data during analysis).
Due to the demand and usefulness of fast, on-demand ad-hoc analysis, enterprises must expend substantial amounts of resources to obtain and maintain large storage systems, vast memory, and vast computing power for the purposes of ad-hoc analysis.